package com.ftf.tp.blog.infrastructure.mapper.pos;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 文章表
 *
 * @author tanghao
 * @date 2022/6/24
 */
@ApiModel(value = "文章表")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "article")
public class ArticlePO {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.INPUT)
    @ApiModelProperty(value = "主键")
    private Long id;

    /**
     * 文章标题
     */
    @TableField(value = "article_title")
    @ApiModelProperty(value = "文章标题")
    private String articleTitle;

    @TableField(value = "article_abstract")
    @ApiModelProperty(value = "")
    private String articleAbstract;

    /**
     * 文章封面
     */
    @TableField(value = "article_cover")
    @ApiModelProperty(value = "文章封面")
    private String articleCover;

    /**
     * 文章作者id
     */
    @TableField(value = "article_author_id")
    @ApiModelProperty(value = "文章作者id")
    private Long articleAuthorId;

    /**
     * 文章作者名
     */
    @TableField(value = "article_author_name")
    @ApiModelProperty(value = "文章作者名")
    private String articleAuthorName;

    /**
     * 文章发布状态（1:公开，2:私密，3:仅粉丝可见)
     */
    @TableField(value = "article_publish_status")
    @ApiModelProperty(value = "文章发布状态（1:公开，2:私密，3:仅粉丝可见)")
    private Integer articlePublishStatus;

    /**
     * 文章类型 (0:原创，1:转载)
     */
    @TableField(value = "article_type")
    @ApiModelProperty(value = "文章类型 (0:原创，1:转载)")
    private Integer articleType;

    /**
     * 文章状态 (10:草稿，20:笔记，30:审核中，40:发布 ,50:被举报，个位数为1时代表处于垃圾箱状态);
     */
    @TableField(value = "article_status")
    @ApiModelProperty(value = "文章状态 (10:草稿，20:审核中，30:发布 ,40:被举报，个位数为1时代表处于垃圾箱状态);")
    private Integer articleStatus;

    /**
     * 文章是否开启评论 (0:可评论，1:不可评论);
     */
    @TableField(value = "comment_status")
    @ApiModelProperty(value = "文章是否开启评论 (0:可评论，1:不可评论);")
    private Integer commentStatus;

    /**
     * 逻辑删除
     */
    @TableField(value = "delete_status",fill = FieldFill.INSERT)
    @ApiModelProperty(value = "逻辑删除")
    private Integer deleteStatus;

    /**
     * 乐观锁
     */
    @TableField(value = "revision",fill = FieldFill.INSERT)
    @ApiModelProperty(value = "乐观锁")
    private Integer revision;

    /**
     * 创建时间
     */
    @TableField(value = "created_time",fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 更新时间
     */
    @TableField(value = "updated_time",fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "更新时间")
    private Date updatedTime;

    /**
     * 创建人
     */
    @TableField(value = "created_by")
    @ApiModelProperty(value = "创建人")
    private Long createdBy;

    /**
     * 更新人
     */
    @TableField(value = "updated_by")
    @ApiModelProperty(value = "更新人")
    private Long updatedBy;
}